<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    /*
    作用域链：
      作用域链本质是底层的变量查找机制
      在函数被执行时，会优先查找当前函数作用域中的变量，如果当前作用域查找不到则会依次逐级父级作用域直到全局作用域
    总结：
      嵌套关系的作用域形成了作用域链
      相同作用域链按着从小到大的规则查找变量
      子作用域能够访问父作用域，父级作用域无法访问子级作用域
     */
    //全局作用域
    let a = 1
    let b = 2
    function f() {
      //局部作用域
      let a = 1
      function g() {
        //局部作用域
        /*  
        a = 2
        console.log(a);//2
        */
       console.log(a);//1
       
      }
      g()
    }
    f()
  </script>
</body>

</html>